package com.ptt.controller;

import com.ptt.pojo.SessionCat;
import com.ptt.service.SessionCatService;
import com.ptt.vo.SysResult;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;

import java.util.List;

@RestController
@CrossOrigin
@RequestMapping("/sessionCat")
public class SessionCatController {

    @Autowired
    private SessionCatService sessionCatService;

    /**
     * 需求: 查询3级分类数据信息
     * 类型： get
     * URL: /itemCat/findItemCatList/{level}
     * 参数: level
     * 返回值: SysResult(list)
     */
    @GetMapping("/findSessionCatList/{level}")
    public SysResult findSessionCatList(@PathVariable Integer level){

        List<SessionCat> list = sessionCatService.findSessionCatList(level);
        return SysResult.success(list);
    }

    /**
     * 实现商品分类新增操作
     * URL: /itemCat/saveItemCat
     * 参数:  this.itemCatForm  JSON
     * 返回值: SysResult对象
     */
    @PostMapping("/saveSessionCat")
    public SysResult saveSessionCat(@RequestBody SessionCat sessionCat){

        sessionCatService.saveSessionCat(sessionCat);
        return SysResult.success();
    }

    /**
     * 需求: 实现商品分类删除操作
     * 类型: delete
     * URL: /itemCat/deleteItemCat?id=xx&level=xx
     * 参数:  id/level
     * 返回值: SysResult
     */
    @DeleteMapping("/deleteSessionCat")
    public SysResult deleteSessionCat(SessionCat sessionCat){

        sessionCatService.deleteSessionCat(sessionCat);
        return SysResult.success();
    }

//    /**
//     * 需求:修改状态
//     * URL:  /itemCat/status/{id}/{status}
//     * 参数: id/status
//     * 返回值: SysResult
//     */
//    @PutMapping("/status/{id}/{status}")
//    public SysResult updateStatus(ItemCat itemCat){
//
//        itemCatService.updateStatus(itemCat);
//        return SysResult.success();
//    }
//
    /**
     * 需求: 修改商品分类信息
     * URL: /itemCat/updateItemCat
     * 参数:  表单数据 ItemCat对象 {id,name,parentId....}
     * 返回值: SysResult对象
     */
    @PutMapping("/updateSessionCat")
    public SysResult updateSessionCat(@RequestBody SessionCat sessionCat){

        sessionCatService.updateSessionCat(sessionCat);
        return SysResult.success();
    }
}
